package com.dingding.service.activity.core.dao;

import com.dingding.common.core.beans.ActivityRelUser;

/**
 * 
 * @ClassName: IActivityRelUserDao
 * @Description: 活动和用户管理关系表操作DAO
 * @author CHEHAUNBO
 * @date 2016年4月1日 下午1:49:34
 * 
 */
public interface IActivityRelUserDao {

	/**
	 * 
	 * @Title: getActivityRelUser
	 * @Description:获取活动和用户的关联关系
	 * @param userId
	 *            用户ID
	 * @param activityId
	 *            活动ID
	 * @param type
	 *            查询类型 1:优惠券 2：积分赠送
	 *            由于活动和用户关联表同时承担积分赠送活动和优惠券赠送的的关联任务，所以需要根据查询类型区别具体关联哪张表
	 * @return ActivityRelUser
	 * @author CHEHAUNBO
	 * 
	 */
	public ActivityRelUser getActivityRelUser(String userId, String activityId, int type, boolean isAdd);

	/**
	 * 
	 * @Title: addActivityRelUser
	 * @Description: 添加用户和活动关联关系
	 * @param userId
	 *            用户ID
	 * @param activityId
	 *            活动ID
	 * @param type
	 *            类型（1：关联积分赠送活动 2：关联优惠券赠送活动）
	 * @param isAdd
	 *            如果不存在用户是否添加
	 * @return ActivityRelUser 添加成功后的用户和活动关联信息
	 * 
	 */
	public ActivityRelUser addActivityRelUser(String userId, String activityId, int type);

	/**
	 * 
	 * @Title: addAttendActivityNumber 
	 * @Description: 修改用户参加活动次数
	 * @param userId 用户ID 
	 * @param activityId 活动ID 
	 * @param type 活动类型 1：关联积分活动 2:关联优惠券活动
	 * @return boolean  true 成功 false 失败 
	 * @author CHEHAUNBO
	 * 
	 */
	public boolean addAttendActivityNumber(String userId, String activityId, int type);

}
